package com.mresources.resources.handler;

import com.mresources.common.dto.bo.UploadFileBo;
import com.mresources.common.dto.vo.FileListVO;
import com.mresources.common.dto.vo.UploadFileVO;

import java.io.InputStream;
import java.util.List;

public interface FileHandler {
    List<FileListVO> listDirectory(String userSeq, String directory);

    List<FileListVO> listDirectory(String userSeq, String directory, List<String> filters);

    UploadFileVO createDirectory(String userSeq, String parentDir, String newDir);

    UploadFileVO deleteDirectory(String userSeq, String directory);

    UploadFileVO moveDirectory(String userSeq, String directory);

    UploadFileVO renameDirectory(String userSeq, String directory);

    UploadFileVO createFile(String userSeq, String directory, UploadFileBo file);

    UploadFileVO fileAppend(String userSeq, String directory, UploadFileBo file, InputStream content);

    UploadFileVO deleteFile(String userSeq, String directory, UploadFileBo file);

    UploadFileVO moveFile(String userSeq, String directory, UploadFileBo file);

    UploadFileVO renameFile(String userSeq, String directory, UploadFileBo file);

}
